Method of disseminating advertisements using an embedded media player page

ABSTRACT

A method of disseminating advertisements includes the step of transmitting to a media device ( 110 ) an embedded media player page for playing a media file. The embedded media player page allows a user of the media device ( 110 ) to create a bookmark for a browser. The bookmark points to the embedded media player page. The bookmark includes an address of the media file as a parameter. When the bookmark is used in the browser to play the media file, the embedded media player page instructs the media device ( 110 ) to request an advertisement from an advertisement server ( 104 ) for display in the embedded media player page.

This application is a continuation of U.S. patent application Ser. No.13/399,602, filed Feb. 17, 2012 (now allowed), which is a continuationof U.S. patent application Ser. No. 10/415,021, filed Apr. 24, 2003, nowU.S. Pat. No. 8,122,236, which claims the benefit under 35 U.S.C. §365of International Application PCT/US01/51227, filed Oct. 24, 2001, whichclaims the benefit of U.S. Provisional Patent Application No.60/242,848, filed Oct. 24, 2000. The contents of the above-referencedapplications are expressly hereby incorporated by reference in theirentireties.

This invention relates to media players for playing media files, such asaudio and video files, and more particularly to embedded or wrappedmedia players.

“Wrapped” or “embedded” media players have become popular for providingcontent along with a media player application. A media player is anapplication that outputs audio and video files that are either storedlocally in a multimedia device, or are streamed/downloaded from a remotestorage site via a communications interface. A wrapped or embedded mediaplayer is a viewed application embedded within a data display. Examplesof data displays being web pages, electronic programming guides, andother software applications creating graphical compositions. The datadisplay code may include scripting that calls a media player, residenton a client, as an object for embedding within the data display.Alternatively, a functional media player applet may accompany a datapage download, and the data page is configured to embed the media playergenerated by the applet.

Many content providers employ this embedded technique because thesurrounding Web page offers advertising and branding space as a means tomonetize the media experience. Known embedded media player pages thatembed media players, however, suffer from several drawbacks. First, andparticularly with respect to streamed video content, prior embeddedmedia player pages generally display all video data at one size, causingthe image composition to be cropped by the fixed size of the videodisplay area. This is particularly a problem with SynchronizedMultimedia Integration Language (SMIL) files that are hypertext markuplanguage (HTML) like files that use the Extensible Markup Language (XML)syntax for bundling video, audio, text, graphic images and hyperlinks.SMIL files may not present to a user all of the available screen contentif the presentation of the files is cut short by standard croppingtechniques. Otherwise, a user has to manually adjust the embedded mediaplayer to the size of a video display.

In addition, while a user may view or listen to a media file played byan embedded media player, any bookmark created by the user using abrowser typically points to the media file itself. Bookmarking directlyto the media file bypasses the content of the embedded media player pageand prevents the generation of revenue from advertising content andbranding exposure during subsequent playbacks of the media file by theuser.

Still further, collecting data from the use of an embedded media playercould help content providers in gauging audience interest. For example,known embedded media player pages do not collect data indicating whethera user allowed a media file to play through to completion or closed anembedded media player page prior to completion of the playing of themedia file. Also, data is not generated that indicate whether a user hasleft an embedded media player page open after completion of the playingof a media file. Such information may be used to evaluate the popularityof a media file, the relevance of a media file to a search query (whenthe file is identified to the user as a result of a search), and toidentify the interest level of users with respect to content thatsurrounds an media player embedded within a web page.

A method of disseminating advertisements includes the step oftransmitting to a media device an embedded media player page for playinga media file. The embedded media player page allows a user of the mediadevice to create a bookmark for a browser. The bookmark points to theembedded media player page. The bookmark includes an address of themedia file as a parameter. When the bookmark is used in the browser toplay the media file, the embedded media player page instructs the mediadevice to request an advertisement from an advertisement server fordisplay in the embedded media player page. The method provides userexposure to the advertisement each time that the bookmark is used in thebrowser.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate preferred embodiments of theinvention as well as other information pertinent to the disclosure, inwhich;

FIG. 1 is a stylized overview of a system of interconnected computernetworks;

FIG. 1A is a stylized overview of a system for providing an exemplaryembedded media player page to a client;

FIG. 2 is an illustration of a browser window displaying an exemplaryembedded media player page;

FIG. 3 is a flow diagram illustrating a method of sizing an exemplaryembedded media player page;

FIG. 4 is a flow diagram illustrating a method of disseminatingadvertisements using an exemplary embedded media player page; and

FIG. 5 is a flow diagram illustrating a method of collecting data usingis an exemplary embedded media player page.

As used herein, the following terms are defined:

“Script”—generally a short program written in an interpreted languagesuch as Perl or Java and usually providing instructions for data andbrowser management;

“Scripting”—server or client-side programming which supplements a staticHTML page, usually written in languages such as Perl, Java, JavaScript,and sometimes used in combination with Common Gateway Interface (CGI)scripts.

The Internet is a worldwide system of computer networks—a network ofcommunication networks in a user at one computer can obtain informationand communicate with a user of another computer, connected to one of thecommunication networks. The most used part of the Internet is the WorldWide Web (often-abbreviated “WWW” or called “the Web”). One of the mostoutstanding features of the Web is its use of hypertext, which is amethod of cross-referencing information. In most Web sites, certainwords or phrases appear in text of a different color than thesurrounding text, indicating that such terms may be links to otherwebsites. These links identify other resources on the Internet via theuse of a tag called a Universal Resource Indicator (URI) or UniversalResource Locator (URL), for example http://www.yahoo.com is a URIidentifying a web page located at yahoo.com. Sometimes, there arebuttons, images or portions of images that are “clickable.” Using theWeb provides access to millions of pages of information. Web “surfing”is done with an Internet browser; the most popular of which presentlyare Netscape Navigator and Microsoft Internet Explorer. The appearanceof a particular website may vary slightly depending on the particularbrowser used. Some browsers have “plug-ins,” which provide animation,virtual reality, sound, video, and other forms of multimedia.

Referring to FIG. 1 there is shown a stylized overview of a system 100of interconnected computer system networks 102. Each computer systemnetwork 102 contains a corresponding local computer processor unit 104,which is coupled to a corresponding local data storage unit 106, andlocal network users 108. Computer system network 102 may be a local areanetwork (LAN) or a wide area network (WAN) for example. Local computerprocessor units 104 are selectively coupled to plurality of clients 110through Internet 114 described above. Each of the plurality of clients110 may have various multimedia devices connected to their localcomputer systems, such as scanners, bar code readers, printers, andother interface devices 112. Client 110, programmed with an Internetbrowser, locates and selects (such as by clicking with a mouse) aparticular Web page, the content of which is located on local datastorage unit 106 of computer system network 102, in order to access thecontent of the Web page. The Web page may contain links to othercomputer systems and other Web pages.

Client 110 may be a computer terminal, a pager that can communicatethrough the Internet using the Internet Protocol (IP), a Kiosk withInternet access, a connected electronic planner (e.g., a PALM devicemanufactured by Palm, Inc.) or other device capable of interactiveInternet communication, such as an Internet enabled television. Client110 may also be a wireless device, such as a hand held unit (e.g.,cellular telephone) that connects to and communicates through theInternet using the wireless access protocol (WAP) or a third generation(3G) compatible protocol.

FIG. 1A is a stylized overview of system 100A for providing an exemplaryembedded media player page to client 110. System 100A generally utilizesthe Internet structure described above in connection with system 100.System 100A preferably includes plurality of clients 110 connected toInternet 114. The system 100A also includes at least one media filesource 116 which may be configured as computer system network 102 (FIG.1). In any case, the media file source 116 is accessible throughInternet 114 and provides at least one media file through Internet 114for playing on client 110.

As used herein, the term “media file” includes audio, video, textual,interactive and multimedia data files, and includes “streaming mediafiles.” is Streaming media files include audio, video, multimedia,textual and interactive data files that are typically delivered over theInternet or other network environment to a client and playback on theclient begins before delivery of the entire file is completed. Thisenables the stream to be played as quickly as possible without the userhaving to wait for a complete download. There is almost an unlimitedvariety of media content including songs, political speeches, newsbroadcasts, movie trailers, and playable animations.

Millions of media files already exist and are available from media filesources 116 through the World Wide Web. Many of these media filescomporting to a streaming media file format. While a variety ofstreaming media file formats exist, the vast majority of streaming mediafiles have been encoded as either REALAUDIO™, REALVIDEO™, MICROSOFTWINDOWS MEDIA FORMAT™, FLASH™, APPLE QUICKTIME™, MPEG-2 Layer III Audio,and MP3. Certain files, such as MP3 files and QUICKTIME™, can be used asboth streaming (not completely received) and downloaded (completelyreceived) files.

The system 100A also includes at least one customer system 118, at leastone advertisement system 120, and at least one media file index and logsystem 122. Each system 118, 120, and 122 are connected to Internet 114and may be configured as computer system network 102 described above inconnection with FIG. 1. Each system is described below in detail inconnection with a description of an exemplary embedded media playerpage. As used hereafter, “embedded media player page” refers to both theunderlying code that directs the display of content by a browser andinstructs the client to take certain actions and the content actuallydisplayed as a Web page in a browser window.

Before the details of an exemplary embedded media player page aredescribed, one preferred method of providing the embedded media playerpage is described. A user of client 110 accesses customer system 118through Internet 114 using an Internet browser in a manner describedabove. Customer system 118 transmits a web page to client 110 throughInternet 114. Customer system 118 may be, for example, a Web portalsite, which provides access to a wide is variety of information througha common interface centralized in a location, e.g., sports news, worldnews, weather information, travel information, etc. Although customersystem 118 is described herein as a Web portal site, it should beunderstood that this is in no way a requirement, and customer system 118may provide any manner of content or services, for example, customersystem 118 may provide audio broadcasts streamed from radio stationsthat are selected from the portal site:

The Web page transmitted to client 110 from customer system 118 includesa media file search prompt. Any phrase, icon, or the like which is“clickable” or which accepts an input from a user may be considered aprompt for the user to make a selection. Providing the user with two“clickable” alternatives is essentially the equivalent of directlyprompting the user with a textual prompt to make a selection, e.g.,“Please select A or B.” Generally, the media file search prompt may beconfigured as a search window (as is common with many search engines)and prompts the user to enter search criteria for a media file, such asa streaming audio or video file. The search criteria are transmitted tocustomer system 118, which then transmits the search criteria throughInternet 114 to media file index and log system 122. Customer system 118may license these search capabilities or otherwise obtain the searchcapabilities from an entity that populates the media file index and logsystem 122.

Media file index and log system 122 includes a database having indexedtherein a plurality of media files. The database of media filespreferably does not include media files themselves, but rather includesdata identifying media files that are available from the plurality ofmedia files sources 116 in system 100A. Examples of data stored for eachrespective media file indexed to within the database include the Webaddress of the media file, such as in the form of a URI or URL referringto the media file, the playing length of the media file (i.e., theamount of time it takes a media file to play in a media player frombeginning to end), a unique identifier for the media file, and the typeof media file (SMIL file, audio file, video file, REALAUDIO™ file,WINDOWS MEDIA™ file, etc.). The database may also include descriptiondata describing the content of each indexed media file, and the databasemay be populated using conventional search engine techniques known tothose of ordinary skill. One known technique utilizes a program, calleda “robot” or “spider”, which pre-traverses a network in search ofdocuments (e.g., web pages) and builds large index files of keywordsfound in the documents. As an example, description data for an audiofile may identify whether the audio data is musical in nature, the titleof a song, the artist, the type of music, copyright data, etc.

Media file index and log system 122 transmits search results throughInternet 114 to customer system 118, such as in an XML format. Customersystem 118 converts the XML results to an HTML (hypertext markuplanguage) format and transmits the results to client 110 as a Web pagethat preferably includes a list of links to media files located at mediafile sources 116, satisfying a user's search criteria. As an example, auser at client 110 may enter a search request for “Pearl Harbor” and“movie trailer”. The search request is received by customer system 118and is transmitted to media file index and log system 122, which thensearches local and remote databases for indexed media files that satisfythe search request Assuming five streaming video files are indexed thatmeet the user's search request, media file index and log systemtransmits the results to customer system 118. These results may includethe playing length of each video file, the URI address of each videofile, encoding bit rate of the video file, file format, a databaseidentifier unique to each video file, frame dimensional data for eachvideo file, or any other information contained within the database. Thecustomer system 118 then transmits the search results in a customizedHTML page to the client 110 for display to the user using a browser of aclient 110.

The user of the client 110 may then decide to view the video datacontained within a video file listed in the search results displayed tothe user by clicking a link to one of the video files. When the user“clicks” on a link to a selected video file, a script file, such as aJavaScript file, transmitted to the client from the customer system 122instructs the client to request the embedded media player page from thecustomer system 122. The details of the embedded media player page aredescribed below.

It should be understood that FIG. 1A shows individual systems asseparate functional blocks for illustrative purposes only, but some orall of the illustrated and described functions may be combinedphysically within one or more systems. For example, a customer system118 may also provide the functions of an advertisement system 120.

FIG. 2 is an illustration of an exemplary embedded media player pagetransmitted from customer system 118 through Internet 114 and displayedto the user by a client 110. Embedded media player page includes areference to a functional media player object (such as a RealPlayer plugin). A reference is a tag (as a file locator as a universal resourceindicator, URI, URL, or a file/object accessed through a directorystructure) that refers to file, media object, or executable computercode stored in a memory structure. The media player object generally isresident on the client, although the reference tag could trigger adownload of a media player applet to control the output of a media file.Embedded media player page also includes a reference through a URL toone or more advertisements to be provided by at least one advertisementsystem 120 for display. Embedded media player page may also include areference to one or more branding logos to be displayed. The referenceto the branding logos may also be a URL address of a graphics fileavailable from customer system 122 or computer system 102. The graphicsfile may be in a graphics file format as a graphic interchange format(GIF), or another type of compressed/decompressed graphic file format.Embedded media player page may also include a search query input form(e.g., a search window) and clickable search command button. The abovereferences and features may be contained within an HTML frameset.

Referring to FIG. 2, the embedded media player page is shown in a pop-upwindow 200 generated by a browser, such as Microsoft Internet Explorer,of a client 110. The embedded media player page includes video displayarea 202 (when the embedded player plays video files) and control 204for controlling the output of a media file. Exemplary control 204includes a play button, pause button, stop button, slider bar, forwardand rewind, buttons, and a status window for displaying buffer statusinformation relevant to streamed files. An autosizing feature of anexemplary embedded media player page is described hereafter inconnection with FIGS. 2 and 3.

If frame dimensional data for a selected video file is available at step300, i.e., if it is available in media file index and log system 122,embedded media player page receives at step 302 frame dimensional datafor the video file selected for playing by the user. In one embodiment,the frame dimensional data is transmitted to customer system 118 frommedia file index and log system 122 and is forwarded to client 110 alongwith search results (if the frame dimensional data is available frommedia file index and log system 122). When the user selects a video filefor viewing, the embedded media player page is transmitted from thecustomer system 118 to the client 110. Embedded media player page canthen utilize frame dimensional data forwarded to client 110 as describedabove. Alternatively, frame dimensional data can be forwarded along withthe embedded media player page to client 110, once the user makes avideo file selection that prompts the transmission of the embedded mediaplayer page to the client 110. If frame dimensional data is notavailable, embedded media player page uses default values at step 301that are transmitted along with the embedded media player page. It hasbeen found that default values of approximately 780 pixels for the width202 b of a video display area 202 and 348 pixels for the height 202 a ofa video display area are generally appropriate, although other valuesmay certainly be utilized.

Frame dimensional data preferably include a frame height value and aframe width value for the video file that is to be played with theembedded media player page. These values may identify the total numberof pixels in the height of an individual frame in the video data of thevideo file and the total number of pixels in the width of an individualframe in the video data of the video file. The media player is called asan object by the embedded media player page when launched (i.e.,operated or run) within the embedded media player page at step 304. Atstep 306, the height 202 a and width 202 b (FIG. 2) of the video displayarea 202 are dynamically sized based upon the received frame dimensionaldata or the default dimensional value (if the frame dimensional data forthe video file is not available at step 300).

By dynamically sizing the video display area 202 based upon the framedimensional data, the video file data (e.g., the picture) is displayedat its intended dimensions or at a scale thereof as appropriate.Particularly with respect to SMIL files, the video data is displayed inan uncropped form, in contrast to prior embedded player pages, whichcrop video data, often making the video data un-viewable or at leastunsatisfying.

At step 308, the dimensions of the pop-up window 200 in which theembedded media player page is displayed are sized based upon the framedimensional data, and, therefore, based in part upon the sizing of thevideo display area 202. The pop-up window 200 is sized to accommodatethe dynamically sized video display area 202, control 204 and any othercontent of the embedded media player page. For example, the height 200 aand width 200 b of the pop-up window 200 may be sized based upon apredefined rule relating the dimensions 200 a, 200 b of the pop-upwindow to the dimensions 202 a, 202 b of the video display area 202. Inone exemplary embodiment, a JavaScript file associated with the embeddedmedia player page (i.e., transmitted along with the embedded mediaplayer page to the client 110) adjusts various attributes of the pop-upwindow 200, such as the HSPACE, BORDER and/or VSPACE attributes of aMicrosoft Internet Explorer browser window, according to the predefinedrule.

An exemplary embedded media player page also includes content displayedalong at least one edge 203 of the video display area 202. This contentmay include, for example, advertisements 206, branding logos 208, asearch window 210 a and search command button 210 b, to name a few typesof content. This content is dynamically located within the embeddedmedia player page at step 310. The dimensions of the player page, andtherefore, of the pop-up window 200, may be sized to leave sufficientmargin for the content between at least one edge 203 of the videodisplay area 202 and the edges 201 of the pop-up window 200.

Again, the positioning of this content relative to the edges 201 ofpop-up window 200 and the edges 203 of the video display area 202 may bedetermined based upon a predefined rule, such as one that, for example,centrally locates a branding logo 208 between a selected edge 203 of thevideo display area 202 and a selected edge 201 of the pop-up window 200,or that centrally locates an advertisement 206 between two oppositeedges 201 of pop-up window 200. Controls 204 may similarly be located. Apredefined rule may even dynamically position content in relation todifferent edges 201, 203 based at least in part on the frame dimensionaldata. For example, if the frame dimensional data dictates a particularlylarge width 202 b for the video display area, and a determination hasbeen made that extremely wide pop-up windows are unattractive orcumbersome, selected content can be located above or below the videodisplay area 202 rather than along a side edge 203 or edges 203 of thevideo display area 202.

Search window 210 a and search command button 210 b allow the user torequest a search for media files, such as video files, indexed withinmedia file index and log system 122. The search results may be displayedto the user in the original search results page described above. Theuser may then launch another embedded media player page in a secondpop-up window by selecting a media file as described above. A media typecheckbox grid (not shown) may also be displayed in the embedded mediaplayer page for allowing the user to limit a search to a particularmedia type, such as WINDOWS MEDIA files or MP3 files.

As mentioned in connection with FIG. 1A, the embedded media player pageincludes a reference to one or more advertisements to be provided by atleast one advertisement system 120 for display as content within theembedded media player page. An example of an ad reference whichinstructs a client to request advertisements for inclusion in theembedded media player page is:<IMGSRC=http://theadservercompany.com/ad.GIF>. The IMGSCR commandidentifies a file named “ad.GIF” (located at theadservercompany.com) asa screen image that is to be displayed within the embedded media playerpage.

The media player located in an embedded media player page supports thetype of media that a regular media player. Preferably, the embeddedmedia player reference video files (or other media file as appropriatein a non-video context), such as a SMIL streaming file, for playback.The embedded media player also supports the display of an advertisement(second video file or image), streamed from a secondary source. Thestreamed advertisement may be optionally adjusted in accordance with thesizing of the video file. Also, the streamed advertisement is selectedin reference to the video file. For example, an HTML code is sent fromcustomer system 118 to client 110 (the example referring to FIGS. 1 and2):

< EMBED TYPE = “application/x-mplayer2” NAME = “MediaPlayer” SRC =“http://thestreamhost.com/thestream.asx” WIDTH = 400 HEIGHT = 320 > </EMBED >.

The command “EMBED TYPE” is a MIME based command that tells client 110to embed media player “x-mplayer2” in a web page as shown in pop-upwindow 200. The client 110 executes the embedded media player andentitles the pop-up window 200 “MediaPlayer” from the NAME command. Afile entitled “thestream.asx” is found and streamed by the media playerfrom a media file source 116 located at “thestreamhost.com” throughInternet 114 via a SRC command. The file “thestream.asx” is outputted bythe embedded media player in a window 202 sized at 400 horizontal pixelsby 320 vertical pixels, as determined by the WIDTH and HEIGHT commands,Customer system 118 optionally transmits additional HTML code to client110 for displaying an advertisement:

< ADSERVER TYPE = “VIDEOSTREAM” STREAMSOURCE =“http://adserver.adsite.com/adspace.asx” WIDTH = 100 HEIGHT = 80 >(/ADSERVER >.

The command “ADSERVER TYPE” instructs the embedded media player that itwill be accessing a video based advertising server. The embedded mediaplayer locates and requests a streaming media file “adspace.asx” from anadvertisement system 120 at “adserver.adsite.com”. The streaming mediafile is streamed to client 110 and outputted by the embedded mediaplayer in window 206, which utilizes a pre-assigned area for displayingstreaming media and static (still picture) advertisements, Customersystem 118 instructs client 110 via HTML code to display the streamingmedia file in a window 206 that is 100 horizontal pixels by 80 verticalpixels. The size of the advertisement window may be selected inaccordance with the size of video file (as described above) via use of asizing algorithm. In this example, customer system 118 divides thepixels allocated for the horizontal and vertical pixels by 4 (400/4=100,320/4=80). This process defines a 100 horizontal pixel by 80 verticalpixel area for window 208 to display the streaming media advertisement.Client 110 may adjust the size of areas of windows 202 and 206 if pop-upwindow 200 is modified or resized.

Referring again to FIG. 2, embedded media player page may also include ahyperlink 214 to the media file at a media file source 116. This allowsa user to directly link to the media file for playback and bookmarkingpurposes. Bookmarks typically associate to a location of a web page or afile, by storing the URI or URL of the corresponding web page or file.The association of an embedded media player with a bookmark may providea user with a better means of accessing media at a specific location,than if accessed without a bookmark. For example, the playback of anMP3PRO™ media file located via a bookmark is optimized by using anembedded media player (that is MP3PRO™ compatible, an associated playerwith the bookmark) instead of a standard MP3 player (enabled as adefault media player). Also, the embedded media player may associate aspecific advertisement with a bookmark. For example, a person playing amedia file with a bookmark enabling a REALAUDIO™ player would receive adifferent advertisement than a bookmark enabling a QUICKTIME™ player,for the same media file.

Additionally or alternatively, an exemplary embedded media player pageprovides the user with an “add to favorites” option, such as through“clickable” option 212. As explained hereafter, this “add to favorites”option provides for an exemplary method of disseminating advertisementsin order to provide additional advertising revenue opportunities eachtime that a user revisits a media file, whether it be an audio, video,textual, or multimedia file, streaming or other transport file scheme.It should be apparent that an embedded media player page calls as areference an audio player when the media file is strictly an audio file.In that case, embedded media player page of FIG. 2 would not includevideo display area 202, but would include appropriate controls 204 andother features specific to audio players that should be familiar tothose of ordinary skill.

Referring to FIG. 4, embedded media player page including the “add tofavorites” feature is transmitted to client 110 at step 400 for playinga media file, such as a media file selected by a user of client 110 froma search results page as described above. At step 402, a user selectsthe “add to favorites” option presented by the embedded media playerpage. A bookmark for an Internet browser, such as Microsoft InternetExplorer, used by the client 110 is then created at step 404 to theembedded media player page that was displayed to the user, rather thandirectly to the played media file. The bookmark points to embedded mediaplayer page, such as through a URI or URL address, and includes anaddress of the played media file as a parameter. An example of abookmark may be asfollows:—http://theCustomer.com/player/player_fset.html?http://www.recordarchive.com/reel_audio/lies.ram&cp=2000+Mercury&spk=2113761124&rmp—.The first part of the URL (theCustomer.com/player/player_fset.html) isthe address of the standard embedded media player page at a customersystem 118. After the “?”, the bookmark includes parameters specific tothe media file, such as the address of the media file at a media filesource 116 (http://www.recordarchive.com), media player type(real_audio), copyright information (lies.ram&cp=2000+Mercury), andmedia file identification number (2113761124&rmp). The media fileidentification number is a unique identifier associated with the mediafile from the media file index and log system 122 that may used toauthenticate whether a user should have access to a file. The embeddedmedia player page transmitted from a customer system 118 to client 110includes all of the HTML code and frameset which are relatively constanteach time the embedded media player page is transmitted from thecustomer system 118 to a client 110, but the embedded media player pagerelies on parameters for that which is to be different each time theembedded media player page is to be displayed by a client 110, such aswhich media file is to be played by the embedded player.

A bookmark typically includes the information necessary to cause client110 to display the embedded media player page for playing a media filewhen a user in step 406 selects the bookmark, referring to the mediafile. When the user selects the bookmark, the client 110, through abrowser, uses the URL address of the bookmark to launch the embeddedmedia player page. Like step 400, the embedded media player page isagain transmitted to client 110 for playing the media file, which isidentified as a parameter in the bookmark. The other content includedwithin the embedded media player page, and defined by the embedded mediaplayer page references and frameset, is also displayed.

As described above, the reference to an advertisement system 120 in theembedded media player page instructs client 110 to request, such asthrough an HTTP request, at least one advertisement from at least oneadvertisement system 120 for display in the embedded media player page.Therefore, the bookmark, by pointing to the embedded media player pagerather than the media file, creates additional opportunities foradvertisement and branding impressions with users. These impressionsprovide additional revenue opportunities associated with theadvertisements and brandings. These additional impressions and revenueopportunities would not be available if the bookmark pointed directly toa media file from a media file source 116. A script file associated withthe embedded media player page, such as a JavaScript file, is may createthis bookmark.

A explained below, an exemplary embedded media player page alsofacilitates the collection of data in connection with the playing of amedia file. Referring to FIG. 5, an embedded media player page istransmitted at step 500 to client 110 for playback of a media file. Asexplained above, a client 110 may in response to a selection of a mediafile by a user from a search results page display this step to the user.The step may also be in response to a selection of a bookmark pointingto an embedded media player page as described above in connection withFIG. 4.

At step 502, the embedded media player page instructs the client 110 totransmit a media file identification message to a log server of mediafile index and log system 122. This request should at least identify tothe log system 122 the media file that is to be played for the user bythe embedded media player page. An exemplary media file identificationmessage includes the Internet Protocol (IP) address of the user,typically the IP address or Universal Resource Locator of client 110,the domain address of the customer system 118 that transmitted theembedded media player page to the client 110, a unique identifier forthe media file (such as a unique identifier of the media file used inthe media file index and log system 122 and received along with a searchresults page), any search query that caused the media file to beprovided to the user as a selection in a results list of a searchresults page, and the ranking (if any) of the media file within thesearch results list of a search results page, and a session identifierindicating the communication thread between client 110 and customersystem 118. The media file index and log system 122 preferably maintainsa respective log for each indexed media file. The log server recordsthat the media file has been selected for playing by a user, preferablyby storing at step 504 the information contained within the media fileidentification message in the media file's respective log. The log maybe maintained as a portion of a database 106. The log server may recordthe time that the media file identification message was received, butthe media file identification message preferably includes time data,such as a time stamp, retrieved from the client and identifying the timeat which the media file identification message was transmitted.

The media file identification message is preferably transmitted to themedia file index and log system 122 substantially proximate in time towhen the media file begins to play in the embedded media player of theembedded media player page, particularly in the case of streaming mediafiles which are typically buffered for a period of time before playbegins, but this particular timing is not a requirement. In oneexemplary embodiment of the embedded media player page, the media fileidentification message takes the form of an HTTP request to the mediafile index and log system 122 for a one-pixel GIF file. A one-pixel GIFis simply a one pixel by one pixel transparent image that is referencedby the embedded media player page. The one-pixel GIF is returned to theclient as a standard HTTP response. The one-pixel GIF is transparent tothe user when displayed in the embedded media player page. The aboveidentified information contained within the media file identificationmessage can be appended to the HTTP request sent by the client for theGIF file. The HTTP request can then be stored in a server log, and theinformation can then be retrieved and organized within a database forprocessing and analysis. The HTTP request may, alternatively, be made toanother system, such as an advertising system 120. The logs of eachadvertising system 120 may then be combined and evaluated.

The embedded media player page also preferably includes scripting toinstruct the client 110 to transmit at least one subsequent message atstep 506 while the embedded media player page remains open. Thesubsequent message is transmitted to the log server of the media fileindex and log system 122. The embedded media player page preferablyincludes scripting that instructs the client 110 to transmit a messageat predetermined time intervals while the embedded media player pageremains open. By “open,” it is meant that the embedded media player pageis displayed by a browser, such as in pop-up window 200. At step 508, atime stamp for the at least one subsequent message is stored in the logassociated with the media file.

In an exemplary embodiment of the embedded media player page, thesubsequent messages are also HTTP requests for one-pixel GIF files, anda time stamp retrieved from client 110 is appended to each request.These subsequent requests may occur, for example, each time that theembedded media player page instructs the client to request a newadvertisement for display from an advertisement system 120, althoughother periodic intervals may also be used. In one exemplary embodiment,these advertisements are requested approximately every thirty secondswhile the embedded media player page is open. If the embedded mediaplayer page includes scripting to request a new advertisement everthirty seconds, for example, then a new entry is added to the log forthe media file approximately every thirty seconds for as long as theembedded media player page remains open.

The media file index and log system 122 preferably indexes and maintainslogs for a plurality of media files. When the logs maintained by themedia file index and log system 122 are populated with sufficient data,this data can be processed, such as with a software program operating atmedia file index and log system 122, to provide valuable information.For example, the total number of times (or total number of times over aselected time period) that each media file indexed in the media fileindex and log system 122 has been selected for playback a user of anembedded media player page provided by customer system 118 can beidentified from the logs. This information provides raw popularity dataand allows for the ranking of the popularity of media files that areindexed in the media file index and log system 122, based at least inpart on the ranking results.

Further, the media file index and log system 122 preferably includesdata identifying the playing time of each indexed media file. Bycomparing the known playing time against the data in the log server forthe media file, specifically the time stamps in the log, muchinformation can be gleaned about the user and the playing event. Forexample, by calculating the difference in time between the first andlast time stamps for a media file during a selected playing sessionrecorded in the log, the approximate length of time that the embeddedmedia player page was left open by the user can be calculated. Comparingthis approximate length of time with the playing length of the mediafile can identify whether the embedded media player page was left openafter the playing of the media file ended or whether the embedded mediaplayer page was closed before the entire media file was played.

If the embedded media player was left open for any extended period oftime after the playing of the media file ended, it may be deduced thatthe media file played unattended or that the content of the media filewas peripheral to the user's attention. In that case, the other contentof the embedded media player page may have been most important to theuser. This fact also indicates that additional advertising impressionswere made on the user if the embedded media player page is configured toinstruct the client 110 to request new advertisements at periodicintervals while the embedded media player page is open. Identifying thatthe embedded media player page was closed before the media file playedto completion may identify how pertinent or relevant a played media filewas to a user's initial search request, for example. This information,in turn, may be used to evaluate the description data contained in asearchable database that describes the content or other characteristicsof an indexed media files and/or to evaluate the methods used topopulate that database. The embedded media player page, therefore,provides access to a media file while advantageously creating anotherproduct—popularity and relevance metrics possibly generated at locationof the media player.

In another embodiment of the embedded media player page, a user isprompted to evaluate a played media file, such as by rating the media ona numerical scale. In this embodiment, the embedded media player pageinstructs the client 110 to transmit the rating information that isprovided by the user to the media file index and log system 122, whereit may be processed and evaluated.

The present invention can be embodied in the form of methods andapparatus for practicing those methods. The present invention can alsobe embodied in the form of program code embodied in tangible media, suchas floppy diskettes, CD-ROMs, hard drives, or any other machine-readablestorage medium, wherein, when the program code is loaded into andexecuted by a machine, such as a computer, the machine becomes anapparatus for practicing the invention. The present invention can alsobe embodied in the form of program code, for example, whether stored ina storage medium, loaded into and/or executed by a machine, ortransmitted over some transmission medium, such as over electricalwiring or cabling, through fiber optics, or via electromagneticradiation, wherein, when the program code is loaded into and executed bya machine, such as a computer, the machine becomes an apparatus forpracticing the invention. When implemented on a general-purposeprocessor, the program code segments combine with the processor toprovide a unique device that operates analogously to specific logiccircuits.

Although various embodiments have been illustrated, this is for thepurpose of describing, and not limiting the invention. Variousmodifications will become apparent to one skilled in the art and arewithin the scope of this invention described in the attached claims

The invention claimed is:
 1. A computer-implemented method of datacollection, comprising: receiving, from a media device, a request for atleast one media file; transmitting, to the media device, informationdefining an embedded media player interface for playing the at least onemedia file, wherein the embedded media player interface includes: amedia file reference to an address for retrieving the at least one mediafile from a media file source; at least one advertising media referenceto an address for retrieving at least one advertisement from anadvertisement system, and instructions, usable by the media device, fortransmitting at least one media file identification message to a remotesystem; and receiving, from the media device, the at least one mediafile identification message for recordation in a log associated with theat least one media file.
 2. The method of claim 1, wherein the at leastone media file identification message is received at predetermined timeintervals.
 3. The method of claim 2, further comprising: determining,based on the number of received media file identification messages, alength of time that the media file was displayed.
 4. The method of claim3, further comprising: determining, if the length of time that the mediafile was displayed exceeds the length of the media file by an extendedperiod of time, that the media file was displayed unattended.
 5. Themethod of claim 1, wherein the request for at least one media file isassociated with a search query from the media device, and wherein themethod further comprises processing the log associated with the at leastone media file to determine the relevance of the media file with respectto the search query.
 6. The method of claim 1, wherein the media fileand the advertisement are adapted for display within the embedded mediaplayer interface, and wherein the at least one media file identificationmessage includes a request for a new advertising media reference.
 7. Themethod of claim 1, wherein the at least one media file identificationmessage includes rating information provided by the user about the mediafile.
 8. A computer system for data collection, comprising: at least oneprocessor; and a non-transitory tangible computer-readable mediumstoring program code segments, the program code segments configured tocause the at least one processor to perform the following operations:receiving, from a media device, a request for at least one media file;transmitting, to the media device, information defining an embeddedmedia player interface for playing the at least one media file, whereinthe embedded media player interface includes: a media file reference toan address for retrieving the at least one media file from a media filesource; at least one advertising media reference to an address forretrieving at least one advertisement from an advertisement system, andinstructions, usable by the media device, for transmitting at least onemedia file identification message to a remote system, the at least onemedia file identification message identifying the referenced media file;and receiving, from the media device, the at least one media fileidentification message for recordation in a log associated with the atleast one media file.
 9. The system of claim 8, wherein the at least onemedia file identification message is received at predetermined timeintervals.
 10. The system of claim 9, wherein the program code segmentsare further configured to cause the processor to perform the followingoperation: determining, based on the number of received media fileidentification messages, a length of time that the media file wasdisplayed.
 11. The system of claim 10, wherein the program code segmentsare further configured to cause the processor to perform the followingoperation: determining, if the length of time that the media file wasdisplayed exceeds the length of the media file by an extended period oftime, that the media file was displayed unattended.
 12. The system ofclaim 8, wherein the request for at least one media file is associatedwith a search query from the media device, and wherein the program codesegments are further configured to cause the processor to process thelog associated with the at least one media file to determine therelevance of the media file with respect to the search query.
 13. Thesystem of claim 8, wherein the media file and the advertisement areadapted for display within the embedded media player interface, andwherein the at least one media file identification message includes arequest for a new advertising media reference.
 14. The system of claim8, wherein the at least one media file identification message includesrating information provided by the user about the media file.
 15. Atangible computer-readable medium storing program code segments, theprogram code segments configured to cause a processor to perform amethod, the method comprising: receiving, from a media device, a requestfor at least one media file; transmitting, to the media device,information defining an embedded media player interface for playing theat least one media file, wherein the embedded media player interfaceincludes: a media file reference to an address for retrieving the atleast one media file from a media file source; at least one advertisingmedia reference to an address for retrieving at least one advertisementfrom an advertisement system, and instructions, usable by the mediadevice, for transmitting at least one media file identification messageto a remote system, the at least one media file identification messageidentifying the referenced media file; and receiving, from the mediadevice, the at least one media file identification message forrecordation in a log associated with the at least one media file. 16.The medium of claim 15, wherein the at least one media fileidentification message is received at predetermined time intervals. 17.The medium of claim 16, wherein the instructions are further configuredto cause the processor to determine, based on the number of receivedmedia file identification messages, a length of time that the media filewas displayed.
 18. The medium of claim 17, wherein the instructions arefurther configured to cause the processor to determine, if the length oftime that the media file was displayed exceeds the length of the mediafile by an extended period of time, that the media file was displayedunattended.
 19. The medium of claim 15, wherein the request for at leastone media file is associated with a search query from the media device,and wherein the instructions are further configured to cause theprocessor to process the log associated with the at least one media fileto determine the relevance of the media file with respect to the searchquery.
 20. The medium of claim 15, wherein the media file and theadvertisement are adapted for display within the embedded media playerinterface, and the at least one media file identification messageincludes rating information provided by the user about the media file.